<?php
namespace ORM;
class ORMOrder extends \ORM\AutoCode\ORMOrder {
	//创建时间自动赋值
	//protected $_created_column=array(
	//	'column'=>'add_time','format'=>true
	//);
	//更新时间自动赋值
	//protected $_updated_column=array(
	//	'column'=>'update_time','format'=>true
	//);
	//本类为对整体表记录操作
	//单个记录的操作放入 entity 类中
	//orm 关系配置
	protected $_has_one = array (
			'op1' => array(
					'model'       => '\ORM\OpORM',
					'foreign_key' => 'id_order',
			),
	);
	protected $_belongs_to = array (
			'op2' => array(
					'model'       => '\ORM\OpORM',
					'foreign_key' => 'product_count',
			),
	);
	protected $_has_many = array (
			'op3' => array(
					'model'       => '\ORM\OpORM',
					'foreign_key' => 'id_order',
			),
			'op4' => array(
					'model'       => '\ORM\OpORM',
					"through"=>"temp",
					"far_key"=>"id_order_groupon",
					"foreign_key"=>"id_order",
			),
	);
	
	//  ORM 强制规则,配置后不匹配的数据将无法插入到数据库
	//  过滤规则使用参考: shanliu/lvalidation 组件 里面有示例
	// 	public function rules()
	// 	{
	// 		return array(
	// 			'username' => array(
	// 				array('not_empty'),
	// 				array('min_length', array(':value', 4)),
	// 				array('max_length', array(':value', 32)),
	// 				array(array($this, 'username_available')),
	// 			),
	// 			'password' => array(
	// 				array('not_empty'),
	// 			),
	// 		);
	// 	}
	// 	public function username_available($username)
	// 	{
	// 		// There are simpler ways to do this, but I will use ORM for the sake of the example
	// 		return ORM::factory('Member', array('username' => $username))->loaded();
	// 	}
	
	//  插入数据前对数据进行过滤,如密码插入前需要加密,名称插入请去空格等
	// 	public function filters()
	// 	{
	// 		return array(
	// 				'password' => array(
	// 						array(array($this, 'hash_password')),
	// 				),
	// 		);
	// 	}
	// 	public function hash_password($password)
	// 	{
	// 		// Do something to hash the password
	// 	}
}